package com.raitcon.hibernate.bean;
// Generated 27/05/2014 07:54:56 AM by Hibernate Tools 3.2.1.GA


import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * GradoSeccion generated by hbm2java
 */
@Entity
@Table(name="grado_seccion"
    ,schema="public"
)
public class GradoSeccion  implements java.io.Serializable {


     private long idGradoSeccion;
     private Empleado empleado;
     private Seccion seccion;
     private Grado grado;
     private Asignatura asignatura;
     private Set<Nota> notas = new HashSet<Nota>(0);
     private Set<Alumno> alumnos = new HashSet<Alumno>(0);

    public GradoSeccion() {
    }

    public GradoSeccion(long idGradoSeccion) {
        this.idGradoSeccion=idGradoSeccion;
    }
    
	
    public GradoSeccion(long idGradoSeccion, Empleado empleado, Seccion seccion, Grado grado, Asignatura asignatura) {
        this.idGradoSeccion = idGradoSeccion;
        this.empleado = empleado;
        this.seccion = seccion;
        this.grado = grado;
        this.asignatura = asignatura;
    }
    public GradoSeccion(long idGradoSeccion, Empleado empleado, Seccion seccion, Grado grado, Asignatura asignatura, Set<Nota> notas, Set<Alumno> alumnos) {
       this.idGradoSeccion = idGradoSeccion;
       this.empleado = empleado;
       this.seccion = seccion;
       this.grado = grado;
       this.asignatura = asignatura;
       this.notas = notas;
       this.alumnos = alumnos;
    }
   
     @Id 
    
    @Column(name="id_grado_seccion", unique=true, nullable=false)
    public long getIdGradoSeccion() {
        return this.idGradoSeccion;
    }
    
    public void setIdGradoSeccion(long idGradoSeccion) {
        this.idGradoSeccion = idGradoSeccion;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_empleado", nullable=false)
    public Empleado getEmpleado() {
        return this.empleado;
    }
    
    public void setEmpleado(Empleado empleado) {
        this.empleado = empleado;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_seccion", nullable=false)
    public Seccion getSeccion() {
        return this.seccion;
    }
    
    public void setSeccion(Seccion seccion) {
        this.seccion = seccion;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_grado", nullable=false)
    public Grado getGrado() {
        return this.grado;
    }
    
    public void setGrado(Grado grado) {
        this.grado = grado;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_asignatura", nullable=false)
    public Asignatura getAsignatura() {
        return this.asignatura;
    }
    
    public void setAsignatura(Asignatura asignatura) {
        this.asignatura = asignatura;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="gradoSeccion")
    public Set<Nota> getNotas() {
        return this.notas;
    }
    
    public void setNotas(Set<Nota> notas) {
        this.notas = notas;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="gradoSeccion")
    public Set<Alumno> getAlumnos() {
        return this.alumnos;
    }
    
    public void setAlumnos(Set<Alumno> alumnos) {
        this.alumnos = alumnos;
    }




}


